1. Field
The subject technology relates generally to remote computing and, in particular, relates to redirecting multimedia playback to a remote computer.
2. Background
One approach to the design and implementation of computer networks, particularly with regard to the development of client/server applications, includes designing client applications and client devices so that the majority of the heavily used resources are at a remote computing device, such as a centralized server, connected via network. These client devices, which include devices connected to a monitor and keyboard, mobile intelligent devices (“MID”), netbooks, personal computers, or telephones, generally have minimal memory, disk storage, and processor power, but are designed under the premise that most users connected to a powerful server do not need the additional processing power. With these client devices, the total cost of ownership is minimized, because of the reduced resources, and security is increased, because the clients can be centrally administered and updated from the server.
Frequently, multimedia content, such as multimedia files and/or video conferencing, are shared amongst a large number of clients. For example, in a business with geographically isolated offices, multiple clients may want to participate in a videoconference. In order for the client to participate in the videoconference, the server usually has to open the requested multimedia stream and send images and sound of the server-side multimedia playback that are “captured” or “scraped” (i.e., an image, such as a bitmap image, is taken of the server-side screen during multimedia playback, which includes a decompressed frame of the video, or in the case of audio, a predetermined portion of audio is recorded as it is played) while the videoconference file is played on the server. The screen-captured images are subsequently displayed (or in the case of audio, replayed) to the client (client-side viewer) connected to the server.
Unfortunately, because this media (e.g., multimedia) information is downloaded by the server, as well as captured and transmitted in an uncompressed format, a heavy load is placed on the network connection between the server and the client, and significant delay is added for the case of real-time applications (e.g. video conferencing). As a result, playback to the client-side viewer is usually interrupted, and playback is of poor quality (e.g., the refresh rate of the screen captured images is too low), often containing errors such as noise or a lack of synchronization between audio and video.
Alternatively, client systems may be required to download the entire multimedia file before being able to play the file, thus creating a significant delay between requesting to view a multimedia file, and actually viewing the multimedia file.
Furthermore, if several clients connect to and request a multimedia file from a single server (unicasting), the total processing and transfer burden to the network connecting the clients and server may render playback and/or download too slow or error-filled so as to be useless to the users attempting to view the multimedia, reducing the scalability of this approach.